Starting from 1.0d3, MPGPC supports a new type of file called Addressbook. The idea of such an object was first suggested to me by Jack Repenning.
An Addressbook (or @book for conciseness) is a simple way of:
1. Defining Users and Groups,
2. Recording for Users, a 32-character nickname and other information needed by both MacPGP and email applications,
3. Recording for Groups again a 32-character nickname and the list of User nicknames for those users belonging of this group.
Currently, the only practical way for creating an @book is through the use of the Make @Book… button in a Keyring management window. Pressing that button creates an @book file with a User nickname record for each of the User ID table entries found in the Keyring window.
Once such a file is created, you can edit its contents through an addressbook management environment accessible by selecting an @Book file from the Open… menu item under the File menu.
After successful selection of an @book file, You will be presented with a window similar to the following:
 
Browsing through nicknames
The window title will have a prefix of “@Book: ” before the addressbook filename. The window is re-sizeable in both directions. Its minimum dimensions are shown above. The Help icon/button shows/hides the balloon help, while the Trash icon/button acts as either a drag-drop destination or a remove button for the addressbook nickname entries.
Each nickname line will have an icon at the left that shows if the entry is a User or a Group's one. It's technically feasible to have an iconified picture of the User to replace this icon (may be version 2.0).
The first time you open an @book after it is created the list displayed in the scrollable listbox will only consist of the PGP Key IDs (the 8-character code displayed in the first column in a Keyring window). This is because at creation time, MPGPC chooses the Key ID to be by default the nickname for the nickname entry.
The list of nicknames will be displayed in sorted alphanumeric ascending order.
When you select a line in the nickname list, the Edit button becomes enabled.
When you edit the nickname itself (the Nickname field in the top part of the window), MPGPC looks to see if there are no nicknames with this value in the current @book. If it finds one, it selects it. MPGPC also checks that the length of the nickname string is limited to 32 characters. If it's not, a message is signalled in the feedback zone (main window) and the cursor remains in the nickname field.
As soon as you finish editing a nickanme entry in the editable field at the top of the window, the two buttons labelled Replace and New become enabled. Once you press one of them both will become disabled again until you edit the contents of a nickname field.
 
• Edit button
To edit a nickname, be it as User or a Group, you select its corresponding entry in the nickname list and either (a) press this Edit button, or (b) double-click the nickname itself in the list. The type of window that will ensue will differ depending on whether you edit a User or a Group.
• Replace button
When this key is enabled, a nickname value is present in the nickname field. MPGPC first checks if there exists an already defined nickname with this value in the addressbook file. If yes, the nickname line is selected and the button is disabled again. If the nickname value is not already defined, then MPGPC replaces the old value of the currently selected nickname with the value present in the nickname field. From then on this will be the new value of this nickname entry.
Note: Be careful when deleting nicknames, especially Users, since currently the only way to add User nicknames is by dragging a line from the Keys table in a Keyring window to this @book's nickname list.
• New button
When this key is enabled, a nickname value is present in the nickname field. MPGPC first checks if there exists an already defined nickname with this value in the addressbook file. If yes, the nickname line is selected and the button is disabled again. If the nickname value is not already defined, then MPGPC creates a new empty Group nickname entry.
When you close this window, either by clicking in the close box or by selecting the Close… menu item under the File menu, and there is at least one Group window which has been modified and not yet saved, a dialog will appear to ask if you want to save the modifications or not:
 
Answering OK will save the modification(s).
Always at close, I check to see if the addressbook file needs compaction or not. If it does, it's compacted.
Editing a User record
When you edit a User record, a window similar to the following one appears:
 
The window title will show the User nickname prefixed with “User: ”
For a User nickname you can edit:
1. The User real name,
2. His/her e-mail address or e-mail nickname which sould be defined in your e-mail program and may be different than MPGPC User nickname, and
3. A comment field limited to 256 characters.
You can copy to the clipboard the User Key ID and his/her User ID, one at a time. These fields are in blue. The last fields you can only see in this part of the window are the Keyring file name and a number. The Keyring file name is where the PGP Key for this User was last found. The number is the Keyring file location where this Public Key Certificate starts. In the final release, this number will disappear.
• Check button
To check the information validity of the nickname key ID, press this button. MPGPC will try to locate the keyring file claimed to contain the key and check if it's still there. If unsuccessful, you will be asked if you want to specify another keyring file to check and will go through the process again. To exit unsuccessful attempts, just cancel the choose file dialog the next time it's displayed.
If MPGPC finds that the key information is different than the one already recorded in the entry, the OK button becomes enabled.
• Update button
The actions of this button will depend on whether you checked the Use HTTP requests to Get keys option in the Preferences… dialog or not. If you did, MPGPC tries to establish a TCP/IP connection with the host name you specified in the Preferences at port 80 (default for http). It will then send a Simple GET request and awaits a Simple Reply. If the reply consists of the PGP key data, it copies this data to clipboard, informs you of the outcome and returns control to you. If an error is encountered during this operation, MPGPC performs the same action it would if the Use HTTP requests to Get keys option was not checked.
If the Use HTTP requests to Get keys option is not checked pressing this button, formats and queues a message in Eudora, if it's running at the time, to the PGP Keyserver you specified in the Preferences… dialog, with a GET command for this User Key as its subject. After this message is sent, and if this User has sent his/her key to a PGP keyserver, you should receive in a return e-mail message a MIME attachement (a file) with this User public key as known to the Keyserver.
Note: When you modify one or more entries in a nickname record, the OK button becomes enabled. If you do not press this button after you edit a nickname and press the Cancel button instead, all your modifications are lost.
Editing a Group record
When you edit a Group record, a window similar to the following one will appear on your screen:
 
The Group window is also re-sizeable, its minimum dimensions are shown above.
• Adding new Users to the list
To add new Users to a Group record, select the nickname entry from the addressbook management window (be it a User or a Group one) and drag it unto the members listbox in the Group you want to add it to. MPGPC always checks to see if the User (when you drag a User entry) or a User member (when you drag a Group entry) with the same nickname does not already exist in the current members list. If yes, then the action is discarded, otherwise the User entry(ies) is/are added.
• Deleting Users from the list
To delete a User entry from the list of Group members, select the User entry line desired anddrag and drop it on the Trash icon/button. Alternatively you can select it and press the Trash icon/button.
• Check button
Pressing this button instructs MPGPC to check if every User entry in this group still exists in the Addressbook file. If MPGPC finds one or more User entries that no longer exist in the Addressbook file, it deletes them from the list and enables the Save button.
• Edit button
When you select a User entry from the displayed list, this button becomes enabled. When pressed it opens a User record Edit window (see Editing a User record above). The same action happens if you double-click the User entry.
• Save button
This becomes enabled as soon as the first modification to the initial Group record is recognised. Pressing this button writes back the updated information to the @book file, eventually deleting old entries before writing new ones (case of editing the Nickanme field itself which is used as the access key for the record).